package com.czp.menu.model;

import java.util.List;

import com.czp.framework.model.BaseModelSupport;

/**
 * 【描 述】：菜单类
 * 【环 境】：J2SE 1.7
 * 
 * @author   柴志鹏
 * @version  version 1.0
 * @since    2014-5-12
 */
public class Menu extends BaseModelSupport {
	private static final long serialVersionUID = 273376167627825673L;
	private String id;					//主键
	private String pid;					//父菜单ID / 0为根
	private String text;				//菜单标题
	private String url;					//连接页面
	private String menuOrd;				//菜单排序
	private String iconCls;				//样式
	private String leaf;				//是否有子几点1是/0否
	private String root;				//是否为根节点1是/0否
	private String enableStatus;		//是否启用1是/0否|
	private String remark;				//备注
	private String menuType;			//菜单类型1=用户菜单，2=设置菜单
	private List<Menu> children;		//子节点
	private String handler; 			//窗口函数
	private String menu; 				//子菜单
	private String cls;
	
	/**
	 * 获取 cls
	 * @return 返回 cls
	 */
	public String getCls() {
		return cls;
	}
	/**
	 * 设置 cls
	 * @param 对cls进行赋值
	 */
	public void setCls(String cls) {
		this.cls = cls;
	}
	/**
	 * 获取 id
	 * @return 返回 id
	 */
	public String getId() {
		return id;
	}
	/**
	 * 设置 id
	 * @param 对id进行赋值
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**
	 * 获取 pid
	 * @return 返回 pid
	 */
	public String getPid() {
		return pid;
	}
	/**
	 * 设置 pid
	 * @param 对pid进行赋值
	 */
	public void setPid(String pid) {
		this.pid = pid;
	}
	/**
	 * 获取 text
	 * @return 返回 text
	 */
	public String getText() {
		return text;
	}
	/**
	 * 设置 text
	 * @param 对text进行赋值
	 */
	public void setText(String text) {
		this.text = text;
	}
	/**
	 * 获取 url
	 * @return 返回 url
	 */
	public String getUrl() {
		return url;
	}
	/**
	 * 设置 url
	 * @param 对url进行赋值
	 */
	public void setUrl(String url) {
		//参考http://www.sencha.com/forum/showthread.php?61674-Ext.ux.menu.StoreMenu-Ajax-Store-as-menu-item-config
		if(url != null && !url.equals("")) {
			setHandler("function(){settingsWindow(this);}");
		}
		this.url = url;
	}
	/**
	 * 获取 menuOrd
	 * @return 返回 menuOrd
	 */
	public String getMenuOrd() {
		return menuOrd;
	}
	/**
	 * 设置 menuOrd
	 * @param 对menuOrd进行赋值
	 */
	public void setMenuOrd(String menuOrd) {
		this.menuOrd = menuOrd;
	}
	/**
	 * 获取 iconCls
	 * @return 返回 iconCls
	 */
	public String getIconCls() {
		return iconCls;
	}
	/**
	 * 设置 iconCls
	 * @param 对iconCls进行赋值
	 */
	public void setIconCls(String iconCls) {
		this.iconCls = iconCls;
	}
	/**
	 * 获取 leaf
	 * @return 返回 leaf
	 */
	public String getLeaf() {
		return leaf;
	}
	/**
	 * 设置 leaf
	 * @param 对leaf进行赋值
	 */
	public void setLeaf(String leaf) {
		//参考http://www.sencha.com/forum/showthread.php?61674-Ext.ux.menu.StoreMenu-Ajax-Store-as-menu-item-config
		if(leaf.equals("1")) {
			setMenu("{xtype:'storeMenu'," +
					"url:'MenuAction!getSettingsListByPid.do'," +
					"baseParams:{pid:'"+ getId() +"'}}");
		}
		this.leaf = leaf;
	}
	/**
	 * 获取 root
	 * @return 返回 root
	 */
	public String getRoot() {
		return root;
	}
	/**
	 * 设置 root
	 * @param 对root进行赋值
	 */
	public void setRoot(String root) {
		this.root = root;
	}
	/**
	 * 获取 enableStatus
	 * @return 返回 enableStatus
	 */
	public String getEnableStatus() {
		return enableStatus;
	}
	/**
	 * 设置 enableStatus
	 * @param 对enableStatus进行赋值
	 */
	public void setEnableStatus(String enableStatus) {
		this.enableStatus = enableStatus;
	}
	/**
	 * 获取 remark
	 * @return 返回 remark
	 */
	public String getRemark() {
		return remark;
	}
	/**
	 * 设置 remark
	 * @param 对remark进行赋值
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}
	/**
	 * 获取 menuType
	 * @return 返回 menuType
	 */
	public String getMenuType() {
		return menuType;
	}
	/**
	 * 设置 menuType
	 * @param 对menuType进行赋值
	 */
	public void setMenuType(String menuType) {
		this.menuType = menuType;
	}
	/**
	 * 获取 children
	 * @return 返回 children
	 */
	public List<Menu> getChildren() {
		return children;
	}
	/**
	 * 设置 children
	 * @param 对children进行赋值
	 */
	public void setChildren(List<Menu> children) {
		this.children = children;
	}
	/**
	 * 获取 handler
	 * @return 返回 handler
	 */
	public String getHandler() {
		return handler;
	}
	/**
	 * 设置 handler
	 * @param 对handler进行赋值
	 */
	public void setHandler(String handler) {
		this.handler = handler;
	}
	/**
	 * 获取 menu
	 * @return 返回 menu
	 */
	public String getMenu() {
		return menu;
	}
	/**
	 * 设置 menu
	 * @param 对menu进行赋值
	 */
	public void setMenu(String menu) {
		this.menu = menu;
	}
	/**
	 * 【重载方法】
	 * 【描 述】：<一句话功能简述>
	 * @return
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return "Menu [children=" + children + ", enableStatus=" + enableStatus
				+ ", handler=" + handler + ", iconCls=" + iconCls + ", id="
				+ id + ", leaf=" + leaf + ", menu=" + menu + ", menuOrd="
				+ menuOrd + ", menuType=" + menuType + ", pid=" + pid
				+ ", remark=" + remark + ", root=" + root + ", text=" + text
				+ ", url=" + url + "]";
	}
	
}
